diff --git a/include/tpm-v1.h b/include/tpm-v1.h
index fcfe1f0..33d53fb 100644
--- a/include/tpm-v1.h
+++ b/include/tpm-v1.h
@@ -287,7 +287,7 @@
  *
  * @param dev		TPM device
  * @param mode		TPM startup mode
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_startup(struct udevice *dev, enum tpm_startup_type mode);
 
@@ -295,7 +295,7 @@
  * Issue a TPM_SelfTestFull command.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_self_test_full(struct udevice *dev);
 
@@ -303,7 +303,7 @@
  * Issue a TPM_ContinueSelfTest command.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_continue_self_test(struct udevice *dev);
 
@@ -316,7 +316,7 @@
  * @param index		index of the area
  * @param perm		TPM_NV_ATTRIBUTES of the area
  * @param size		size of the area
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_nv_define_space(struct udevice *dev, u32 index, u32 perm, u32 size);
 
@@ -329,7 +329,7 @@
  * @param index		index of the area
  * @param data		output buffer of the area contents
  * @param count		size of output buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_nv_read_value(struct udevice *dev, u32 index, void *data, u32 count);
 
@@ -342,7 +342,7 @@
  * @param index		index of the area
  * @param data		input buffer to be wrote to the area
  * @param length	length of data bytes of input buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_nv_write_value(struct udevice *dev, u32 index, const void *data,
 			u32 length);
@@ -356,7 +356,7 @@
  *			recorded
  * @param out_digest	160-bit PCR value after execution of the
  *			command
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_extend(struct udevice *dev, u32 index, const void *in_digest,
 		void *out_digest);
@@ -368,7 +368,7 @@
  * @param index		index of the PCR
  * @param data		output buffer for contents of the named PCR
  * @param count		size of output buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_pcr_read(struct udevice *dev, u32 index, void *data, size_t count);
 
@@ -378,7 +378,7 @@
  *
  * @param dev		TPM device
  * @param presence	TPM physical presence flag
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_tsc_physical_presence(struct udevice *dev, u16 presence);
 
@@ -388,7 +388,7 @@
  * @param dev		TPM device
  * @param data		output buffer for the public endorsement key
  * @param count		size of output buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_read_pubek(struct udevice *dev, void *data, size_t count);
 
@@ -396,7 +396,7 @@
  * Issue a TPM_ForceClear command.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_force_clear(struct udevice *dev);
 
@@ -404,7 +404,7 @@
  * Issue a TPM_PhysicalEnable command.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_physical_enable(struct udevice *dev);
 
@@ -412,7 +412,7 @@
  * Issue a TPM_PhysicalDisable command.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_physical_disable(struct udevice *dev);
 
@@ -421,7 +421,7 @@
  *
  * @param dev		TPM device
  * @param state		boolean state of the deactivated flag
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_physical_set_deactivated(struct udevice *dev, u8 state);
 
@@ -435,7 +435,7 @@
  *			limited to be 4-byte wide
  * @param cap		output buffer for capability information
  * @param count		size of output buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_get_capability(struct udevice *dev, u32 cap_area, u32 sub_cap,
 			void *cap, size_t count);
@@ -445,7 +445,7 @@
  *
  * @param dev		TPM device
  * @param auth_handle	handle of the auth session
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_terminate_auth_session(struct udevice *dev, u32 auth_handle);
 
@@ -458,7 +458,7 @@
  *
  * @param dev		TPM device
  * @param auth_handle	pointer to the (new) auth handle or NULL.
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_oiap(struct udevice *dev, u32 *auth_handle);
 
@@ -466,7 +466,7 @@
  * Ends an active OIAP session.
  *
  * @param dev		TPM device
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_end_oiap(struct udevice *dev);
 
@@ -480,7 +480,7 @@
  * @param key_length	size of the key structure
  * @param parent_key_usage_auth	usage auth for the parent key
  * @param key_handle	pointer to the key handle
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_load_key2_oiap(struct udevice *dev, u32 parent_handle, const void *key,
 			size_t key_length, const void *parent_key_usage_auth,
@@ -498,7 +498,7 @@
  * @param pubkey_len	pointer to the pub key buffer len. On entry: the size of
  *			the provided pubkey buffer. On successful exit: the size
  *			of the stored TPM_PUBKEY structure (iff pubkey != NULL).
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_get_pub_key_oiap(struct udevice *dev, u32 key_handle,
 			  const void *usage_auth, void *pubkey,
@@ -509,7 +509,7 @@
  *
  * @param dev		TPM device
  * @param pflags	Place to put permanent flags
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_get_permanent_flags(struct udevice *dev,
 			     struct tpm_permanent_flags *pflags);
@@ -519,7 +519,7 @@
  *
  * @param dev		TPM device
  * @param perm		Returns permissions value
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_get_permissions(struct udevice *dev, u32 index, u32 *perm);
 
@@ -529,7 +529,7 @@
  * @param dev		TPM device
  * @param key_handle           handle of the resource
  * @param resource_type                type of the resource
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_flush_specific(struct udevice *dev, u32 key_handle, u32 resource_type);
 
@@ -541,7 +541,7 @@
  * @param auth	        Usage auth of the key to search for
  * @param pubkey_digest	SHA1 hash of the pub key structure of the key
  * @param[out] handle	The handle of the key (Non-null iff found)
- * @return 0 if key was found in TPM; != 0 if not.
+ * Return: 0 if key was found in TPM; != 0 if not.
  */
 u32 tpm1_find_key_sha1(struct udevice *dev, const u8 auth[20],
 		       const u8 pubkey_digest[20], u32 *handle);
@@ -555,7 +555,7 @@
  * @param dev		TPM device
  * @param data		output buffer for the random bytes
  * @param count		size of output buffer
- * @return return code of the operation
+ * Return: return code of the operation
  */
 u32 tpm1_get_random(struct udevice *dev, void *data, u32 count);
 
@@ -563,7 +563,7 @@
  * tpm_finalise_physical_presence() - Finalise physical presence
  *
  * @param dev		TPM device
- * @return return code of the operation (0 = success)
+ * Return: return code of the operation (0 = success)
  */
 u32 tpm1_finalise_physical_presence(struct udevice *dev);
 
@@ -571,7 +571,7 @@
  * tpm_nv_enable_locking() - lock the non-volatile space
  *
  * @param dev		TPM device
- * @return return code of the operation (0 = success)
+ * Return: return code of the operation (0 = success)
  */
 u32 tpm1_nv_set_locked(struct udevice *dev);
 
@@ -579,7 +579,7 @@
  * tpm_set_global_lock() - set the global lock
  *
  * @param dev		TPM device
- * @return return code of the operation (0 = success)
+ * Return: return code of the operation (0 = success)
  */
 u32 tpm_set_global_lock(struct udevice *dev);
 
@@ -587,7 +587,7 @@
  * tpm_resume() - start up the TPM from resume (after suspend)
  *
  * @param dev		TPM device
- * @return return code of the operation (0 = success)
+ * Return: return code of the operation (0 = success)
  */
 u32 tpm1_resume(struct udevice *dev);
 
